feat: language-server powered file/folder create, rename, delete#1415
feat: language-server powered file/folder create, rename, delete#1415sebthom merged 3 commits intoeclipse-lsp4e:mainfrom
Conversation
rubenporras
left a comment
There was a problem hiding this comment.
I will continue the review next week.
23373ad to
1854fce
Compare
rubenporras
left a comment
There was a problem hiding this comment.
Most of my comments are about style, but I think #1415 (comment) needs to be addressed.
Project Explorer actions now call LSP willCreate/willRename/willDelete and apply returned edits when supported. Supports both files and folders; honors server filters (glob + file/folder kind). Ensures pending didChange is sent before didClose to preserve LSP event order during renames.
rubenporras
left a comment
There was a problem hiding this comment.
After this one, I think I will not have more comments :)
Your feedback is very much appreciated. Here at least someone talks with me. In TM4E and WildWebDeveloper projects I feel like mostly talking to myself. |
Don't worry, there are people listening, it's just that they don't have anything more interesting to add in most cases ;) |
| .toArray(CompositeChange[]::new); | ||
| } catch (final InterruptedException ex) { | ||
| Thread.currentThread().interrupt(); | ||
| throw new CoreException(new Status(IStatus.ERROR, LanguageServerPlugin.PLUGIN_ID, |
There was a problem hiding this comment.
@rubenporras I now let the exceptions bubble up. what should we do with the per-language-server exceptions that are currently logged only (line 75-84)? Should the whole operation be aborted if potentially only one LS times out?
There was a problem hiding this comment.
I do not know. I also do not know in which case multiple language servers would participate in one operation. I would that if we do not know better, we can go with the current implementation
| .toArray(CompositeChange[]::new); | ||
| } catch (final InterruptedException ex) { | ||
| Thread.currentThread().interrupt(); | ||
| throw new CoreException(new Status(IStatus.ERROR, LanguageServerPlugin.PLUGIN_ID, |
There was a problem hiding this comment.
I do not know. I also do not know in which case multiple language servers would participate in one operation. I would that if we do not know better, we can go with the current implementation
|
fyi: I would like to do a release before Friday so that we follow https://eclipse.dev/simrel/?file=wiki/SimRel/2025-12.md and then wait with new features until the 10th of December. |
Ok, let's hold back merging the PR for now. |
|
Ah I misread the dates. I thought we are already passed the feature freeze... |
Project Explorer actions now call LSP willCreate/willRename/willDelete and apply returned edits when supported. Supports both files and folders; honors server filters (glob + file/folder kind). Ensures pending didChange is sent before didClose to preserve LSP event order during renames.
Fixes #823